/**
 * 设备视图对象
 */
export interface IotDeviceVO {
  /** 设备ID */
  deviceId?: number
  /** 设备名称 */
  deviceName?: string
  /** 设备编码 */
  deviceCode?: string
  /** 产品ID */
  productId?: number
  /** 产品名称 */
  productName?: string
  /** 产品编码 */
  productCode?: string
  /** 绑定的 Node-RED 规则ID */
  flowId?: number
  /** 通信协议类型（设备可覆盖） */
  protocolType?: string
  /** 协议配置覆盖（JSON） */
  protocolConfigOverride?: string
  /** 设备类型（从产品中获取） */
  deviceType?: string
  /** 分组ID */
  groupId?: number
  /** 分组名称 */
  groupName?: string
  /** 设备IP */
  deviceIp?: string
  /** 设备端口 */
  devicePort?: number
  /** 设备状态（0离线 1在线 2故障） */
  deviceStatus?: string
  /** 设备位置 */
  location?: string
  /** 经度 */
  longitude?: number
  /** 纬度 */
  latitude?: number
  /** 安装时间 */
  installTime?: string
  /** 最后在线时间 */
  lastOnlineTime?: string
  /** 设备描述 */
  remark?: string
}

/**
 * 设备查询对象
 */
export interface IotDeviceQuery extends PageQuery {
  /** 设备名称 */
  deviceName?: string
  /** 设备编码 */
  deviceCode?: string
  /** 产品ID */
  productId?: number
  /** 分组ID */
  groupId?: number
  /** 设备状态（0在线 1离线 2故障） */
  deviceStatus?: string
}

/**
 * 设备表单对象
 */
export interface IotDeviceForm {
  /** 设备ID */
  deviceId?: number
  /** 设备名称 */
  deviceName?: string
  /** 设备编码 */
  deviceCode?: string
  /** 产品ID */
  productId?: number
  /** 产品名称（用于显示） */
  productName?: string
  /** 绑定的 Node-RED 规则ID */
  flowId?: number
  /** 通信协议类型（设备可覆盖） */
  protocolType?: string
  /** 协议配置覆盖（JSON，仅填写需要覆盖的键） */
  protocolConfigOverride?: string
  /** 分组ID */
  groupId?: number
  /** 设备IP */
  deviceIp?: string
  /** 设备端口 */
  devicePort?: number
  /** 设备状态（0在线 1离线 2故障） */
  deviceStatus?: string
  /** 设备位置 */
  location?: string
  /** 经度 */
  longitude?: number
  /** 纬度 */
  latitude?: number
  /** 安装时间 */
  installTime?: string
  /** 设备描述 */
  remark?: string
}

/**
 * 分页查询对象
 */
export interface PageQuery {
  /** 页码 */
  pageNum?: number
  /** 每页数量 */
  pageSize?: number
} 